了解 React 的特點
中秋節休息了兩天差點就不想寫了讓我更有動力了,為了有更多的時間做每周任務與專題,會縮小每日目標範圍。
讓我們趕快繼續這趟旅程吧!
怎麼做
」,但在複雜的用戶界面和多變的狀態下,維護變得相對複雜和耗力。做什麼
」,具體的執行過程則由 React 負責。
# JS imperative (命令式)
<ul>
<li class="item">Item 1</li>
<li class="item">Item 2</li>
<li class="item">Item 3</li>
</ul>
document.querySelectorAll('.item').forEach(function(item) {
item.addEventListener('click', function() {
// 先將所有的顏色設置為黑色
document.querySelectorAll('.item').forEach(function(li) {
li.style.color = 'black';
});
// 將被點擊的 li 顏色設置為紅色
item.style.color = 'red';
});
});
# React declarative (宣告式)
import { useState } from 'react';
function MyComponent() {
const [clickedIndex, setClickedIndex] = useState(null);
const items = ['Item 1', 'Item 2', 'Item 3'];
return (
<ul>
{items.map((item, index) => (
<li // 因為可能修改順序,所以官網建議不要用 index 當 key,但舉例就從簡
key={index}
onClick={() => setClickedIndex(index)}
style={{ color: clickedIndex === index ? 'red' : 'black' }}
>
{item}
</li>
))}
</ul>
);
}
今天,我們一起走過了 React 的兩大核心特點之旅 - 宣告式設計和 Virtual DOM。
宣告式的風格讓我們在開發時能夠更集中注意力在應用的狀態和交互上,而 Virtual DOM 則在默默地提升著我們應用的效能和用戶的使用體驗。
當然 React 的強大遠不止於此!在接下來的時間裡,讓我們一邊實作,一邊探索吧!🚀